---
title: "Plugin System"
description: "Hot Updater uses a flexible plugin system that lets you customize how bundles are built, stored, and managed to fit your infrastructure."
icon: Puzzle
---

import { Tabs, Tab } from 'fumadocs-ui/components/tabs';

## Build Plugin

Build plugins handle the bundling process when you run the `hot-updater deploy` command. They generate the JavaScript bundles for your updates.

### Supported Plugins

- **`@hot-updater/bare`**: Executes the bundle command through React Native CLI. Bundles through Metro or Re.Pack.
- **`@hot-updater/rock`**: Executes the bundle command through [Rock](https://github.com/callstack/rock)(Formerly RNEF).
- **`@hot-updater/expo`**: Executes the bundle command through Expo.

## Storage Plugin

Storage plugins upload your generated bundles during the `hot-updater deploy` command and store them in your chosen storage provider.

### Supported Plugins

- **`@hot-updater/supabase`**: Provides `supabaseStorage` functionality, leveraging Supabase for storage.
- **`@hot-updater/cloudflare`**: Provides `r2Storage` functionality, leveraging Cloudflare R2 for storage.
- **`@hot-updater/aws`**: Provides `s3Storage` functionality, enabling the use of AWS S3 for storage.
- **`@hot-updater/firebase`**: Provides `firebaseStorage` functionality, utilizing Firebase Storage for storing update bundles.

## Database Plugin

Database plugins store bundle metadata that your app uses to check for updates. They run during the `hot-updater deploy` command.

### Supported Plugins

- **`@hot-updater/supabase`**: Provides `supabaseDatabase` functionality, using Supabase as a database solution.
- **`@hot-updater/aws`**: Provides `s3Database` functionality, utilizing AWS for database storage.
- **`@hot-updater/cloudflare`**: Provides `d1Database` functionality, leveraging Cloudflare D1 for database storage.
- **`@hot-updater/firebase`**: Provides `firebaseDatabase` functionality, using Firebase Firestore for storing update metadata.
